package com.yunfeisoft.business.model;

import com.yunfeisoft.common.base.BaseModel;
import com.yunfeisoft.common.sql.record.TransientField;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * ClassName: FamilyEvaluationNurseStaff
 * Description: 长者家属对护理员评价表
 *
 * @Author: Jackie liu
 * Date: 2020-05-22
 */
@Entity
@Table(name = "TT_FAMILY_EVALUATION_NURSE_STAFF")
public class FamilyEvaluationNurseStaff extends BaseModel implements Serializable {

    /**
     * Field serialVersionUID: 序列号
     */
    private static final long serialVersionUID = 1L;

    /**
     * 老人入住关联id
     */
    @Column
    private String elderId;

    @TransientField
    private String elderName;

    @TransientField
    private String floorNum;

    @TransientField
    private String roomNum;

    public String getElderName() {
        return elderName;
    }

    public void setElderName(String elderName) {
        this.elderName = elderName;
    }

    public String getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(String floorNum) {
        this.floorNum = floorNum;
    }

    public String getRoomNum() {
        return roomNum;
    }

    public void setRoomNum(String roomNum) {
        this.roomNum = roomNum;
    }

    /**
     * 对护理员满意度1满意2比较满意3不满意
     */
    @Column
    private Integer nurseServiceAttitudeSatisfaction;

    public String getNurseServiceAttitudeSatisfactionStr() {
        if (nurseServiceAttitudeSatisfaction == null) {
            return null;
        }
        return FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum.valueOf(nurseServiceAttitudeSatisfaction);
    }

    /**
     * 对护理员服务质量满意度1满意2比较满意3不满意
     */
    @Column
    private Integer nurseServiceQualitySatisfaction;

    public String getNurseServiceQualitySatisfactionStr() {
        if (nurseServiceQualitySatisfaction == null) {
            return null;
        }
        return FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum.valueOf(nurseServiceQualitySatisfaction);
    }

    /**
     * 房间卫生满意度1满意2比较满意3不满意
     */
    @Column
    private Integer roomCleanSatisfaction;

    public String getRoomCleanSatisfactionStr() {
        if (roomCleanSatisfaction == null) {
            return null;
        }
        return FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum.valueOf(roomCleanSatisfaction);
    }

    /**
     * 工作责任心满意度1满意2比较满意3不满意
     */
    @Column
    private Integer jobResponsibilitySatisfaction;

    public String getJobResponsibilitySatisfactionStr() {
        if (jobResponsibilitySatisfaction == null) {
            return null;
        }
        return FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum.valueOf(jobResponsibilitySatisfaction);
    }

    /**
     * 沟通能力满意度1满意2比较满意3不满意
     */
    @Column
    private Integer communicationAbilitySatisfaction;

    public String getCommunicationAbilitySatisfactionStr() {
        if (communicationAbilitySatisfaction == null) {
            return null;
        }
        return FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum.valueOf(communicationAbilitySatisfaction);
    }


    public String getElderId() {
        return elderId;
    }

    public void setElderId(String elderId) {
        this.elderId = elderId;
    }

    public Integer getNurseServiceAttitudeSatisfaction() {
        return nurseServiceAttitudeSatisfaction;
    }

    public void setNurseServiceAttitudeSatisfaction(Integer nurseServiceAttitudeSatisfaction) {
        this.nurseServiceAttitudeSatisfaction = nurseServiceAttitudeSatisfaction;
    }

    public Integer getNurseServiceQualitySatisfaction() {
        return nurseServiceQualitySatisfaction;
    }

    public void setNurseServiceQualitySatisfaction(Integer nurseServiceQualitySatisfaction) {
        this.nurseServiceQualitySatisfaction = nurseServiceQualitySatisfaction;
    }

    public Integer getRoomCleanSatisfaction() {
        return roomCleanSatisfaction;
    }

    public void setRoomCleanSatisfaction(Integer roomCleanSatisfaction) {
        this.roomCleanSatisfaction = roomCleanSatisfaction;
    }

    public Integer getJobResponsibilitySatisfaction() {
        return jobResponsibilitySatisfaction;
    }

    public void setJobResponsibilitySatisfaction(Integer jobResponsibilitySatisfaction) {
        this.jobResponsibilitySatisfaction = jobResponsibilitySatisfaction;
    }

    public Integer getCommunicationAbilitySatisfaction() {
        return communicationAbilitySatisfaction;
    }

    public void setCommunicationAbilitySatisfaction(Integer communicationAbilitySatisfaction) {
        this.communicationAbilitySatisfaction = communicationAbilitySatisfaction;
    }

    public enum FamilyEvaluationNurseStaffEnum {
        FIRST(1, "满意"),
        SECOND(2, "比较满意"),
        THIRD(3, "不满意");

        private int value;
        private String label;

        private FamilyEvaluationNurseStaffEnum(int value, String label) {
            this.value = value;
            this.label = label;
        }

        public static String valueOf(Integer value) {
            if (value == null) {
                return null;
            }
            FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum[] values = FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum.values();
            for (FamilyEvaluationNurseStaff.FamilyEvaluationNurseStaffEnum loop : values) {
                if (value == loop.getValue()) {
                    return loop.getLabel();
                }
            }
            return null;
        }

        public Integer getValue() {
            return value;
        }

        public String getLabel() {
            return label;
        }

    }

}